home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-08-21 | 2.5 KB | 52 lines | [TEXT/pdos] |
- Apple II
- Technical Notes
- _____________________________________________________________________________
- Developer Technical Support
-
-
- GS/OS
- #7: Behavior of SET_DISKSW
-
- Written by: Matt Deatherage July 1989
-
- This Technical Note discusses changes to the documented behavior of SET_DISKSW
- in System Software 5.0. This Note is primarily of interest to device driver
- authors.
- _____________________________________________________________________________
-
- GS/OS Reference, Volume 2, states that the system service call SET_DISKSW
- ($01FC90) will remove a device's blocks from the cache and place its volumes
- off line.
-
- With System Software 5.0, this behavior is slightly changed. SET_DISKSW also
- posts insertion and ejection notices to the GS/OS Notify Procedure queue, so
- that notification procedures may be called. This requires SET_DISKSW to check
- the current status of the device to know if the disk switched condition
- indicates an insertion or an ejection (by comparing the current device status
- against the device-dispatcher maintained status).
-
- A GS/OS driver may have an interrupt handler present to handle interrupts
- generated by its device on insertion or ejection (if the hardware is capable
- of generating such interrupts). Such an interrupt handler will probably want
- to call SET_DISKSW when an insertion or ejection is detected to make the rest
- of the operating system aware of it. However, SET_DISKSW obtains the device's
- status based on the deviceNum and callNum on the GS/OS direct page.
-
- Any driver or interrupt handler calling SET_DISKSW must first save the values
- for deviceNum and callNum on the GS/OS direct page, replacing callNum with the
- number of a driver call that accesses media (Apple suggests Driver_Read,
- $0002) and replacing deviceNum with the number of the device for which
- SET_DISKSW is being called. The caller must restore the original values after
- SET_DISKSW returns.
-
- Although SET_DISKSW saves and restores the GS/OS direct page, the caller must
- know where the GS/OS direct page is located so it can place the proper
- parameters there. The value used for the GS/OS direct page should be the
- value of the D register when the driver receives its Driver_StartUp call. The
- GS/OS direct page is now guaranteed to remain constant between Driver_StartUp
- and Driver_ShutDown calls.
-
-
- Further Reference
- _____________________________________________________________________________
- o GS/OS Reference, Volume 2